package com.zmn.oms.business.interfaces.xno;

import com.zmn.oms.common.dto.OmsOperator;
import com.zmn.oms.common.exception.OmsBaseException;
import com.zmn.oms.model.dto.work.xno.TempXnoBindDTO;
import com.zmn.oms.model.dto.work.xno.TempXnoUnBindDTO;
import com.zmn.oms.model.entity.work.OrderWork;

/**
 * @author ：ligang
 * @date ：2022/01/1 11:01
 * @description：临时小号相关操作
 */
public interface OrderTempXnoBindBService {
    /**
     * 查询临时小号的绑定状态
     */
    Boolean queryTempXnoBindStatus(OrderWork orderWork, String telephone, String userTelephone);

    /**
     * 绑定临时小号
     *
     * @param tempXnoBindDTO
     */
    void bindTempXno(TempXnoBindDTO tempXnoBindDTO, OrderWork orderWork) throws OmsBaseException;

    /**
     * 是否临时小号
     */
    boolean isTempXno(Long workId, Long xnoBindId);

    /**
     * 是否临时小号
     */
    boolean isTempXno(Long workId, String xno, String callerNo, String calledNo);

    /**
     * 解绑临时小号
     *
     * @param tempXnoUnBindDTO
     */
    void unTempXnoBind(TempXnoUnBindDTO tempXnoUnBindDTO) throws OmsBaseException;

    /**
     * 临时小号联系用户
     *
     * @param omsOperator
     * @param xnoBindId
     */
    void contactUser(OmsOperator omsOperator, Long xnoBindId);
}
